package top.blackr.folivora.common.security.crud.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import top.blackr.folivora.common.security.crud.model.entity.SysUser;
import top.blackr.folivora.common.security.crud.model.vo.SysUserVo;

import java.util.List;

@Mapper
public interface SysUserMapper extends BaseMapper<SysUser> {

    /**
     * 登录用户信息查询
     *
     * @param username 用户名
     * @return 用户信息
     */
    List<SysUserVo> loginUserInfo(@Param("username") String username);

    /**
     * 登录用户信息查询
     *
     * @param openid openid
     * @return 用户信息
     */
    List<SysUserVo> loginUserInfoWx(@Param("openid") String openid);

    /**
     * 登录用户信息查询
     *
     * @param phone phone
     * @return 用户信息
     */
    List<SysUserVo> loginUserInfoSms(@Param("phone") String phone);

    /**
     * 查询用户管理列表
     *
     * @param page   分页信息
     * @param params 查询条件
     * @return 用户列表
     */
    Page<SysUserVo> userInfoPage(@Param("page") Page<SysUserVo> page, @Param("params") SysUserVo params);

    /**
     * 用户分页
     *
     * @param page 分页信息
     * @param params 查询条件
     * @return 用户分页
     */
    Page<SysUserVo> getPages(@Param("page") Page<SysUserVo> page, @Param("params") SysUserVo params);
}
